package com.kefu.chat.vo;

import io.swagger.annotations.ApiModel;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;

import javax.validation.constraints.NotEmpty;

import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import java.io.Serializable;

@Data
@TableName("chat_rpt_session")
@ApiModel(description="会话统计")
public class ChatRptSession implements Serializable {
    
    @NotEmpty
    @TableId(value="id",type = IdType.ASSIGN_ID)
    @ApiModelProperty(name = "id", value = "主键")
    private Long id;

    /**
     * 租户
     */
    @ApiModelProperty(name = "tenantId", value = "租户")
    private String tenantId;

    /**
     * 日期
     */
    @ApiModelProperty(name = "resultDate", value = "日期")
    private String resultDate;

    /**
     * 时间
     */
    @ApiModelProperty(name = "resultHour", value = "时间")
    private String resultHour;

    /**
     * 总会话
     */
    @ApiModelProperty(name = "totalCount", value = "总会话")
    private int totalCount;

    /**
     * 会话总时长
     */
    @ApiModelProperty(name = "totalTime", value = "会话总时长")
    private int totalTime;

    /**
     * 机器人接待
     */
    @ApiModelProperty(name = "robotCount", value = "机器人接待")
    private int robotCount;

    /**
     * 机器人独立接待
     */
    @ApiModelProperty(name = "robotOnly", value = "机器人独立接待")
    private int robotOnly;

    /**
     * 排队数量
     */
    @ApiModelProperty(name = "waitCount", value = "排队数量")
    private int waitCount;

    /**
     * 排队接通
     */
    @ApiModelProperty(name = "waitSuccess", value = "排队接通")
    private int waitSuccess;

    /**
     * 排队离开
     */
    @ApiModelProperty(name = "waitOut", value = "排队离开")
    private int waitOut;

    /**
     * 人工接待
     */
    @ApiModelProperty(name = "onlineCount", value = "人工接待")
    private int onlineCount;

    /**
     * 人工独立接待
     */
    @ApiModelProperty(name = "onlineOnly", value = "人工独立接待")
    private int onlineOnly;

    /**
     * 机器人评价
     */
    @ApiModelProperty(name = "robotEvaluate", value = "机器人评价")
    private int robotEvaluate;

    /**
     * 机器人评价解决
     */
    @ApiModelProperty(name = "robotSolve", value = "机器人评价解决")
    private int robotSolve;

    /**
     * 人工评价
     */
    @ApiModelProperty(name = "adminEvaluate", value = "人工评价")
    private int adminEvaluate;

    /**
     * 人工评价解决
     */
    @ApiModelProperty(name = "adminSolve", value = "人工评价解决")
    private int adminSolve;

    /**
     * 服务总结
     */
    @ApiModelProperty(name = "summaryCount", value = "服务总结")
    private int summaryCount;

    /**
     * 服务总结解决
     */
    @ApiModelProperty(name = "summarySolve", value = "服务总结解决")
    private int summarySolve;

    @ApiModelProperty(name = "adminStar1", value = "客服1星评价")
    private int adminStar1;

    @ApiModelProperty(name = "adminStar2", value = "客服2星评价")
    private int adminStar2;

    @ApiModelProperty(name = "adminStar3", value = "客服3星评价")
    private int adminStar3;

    @ApiModelProperty(name = "adminStar4", value = "客服4星评价")
    private int adminStar4;

    @ApiModelProperty(name = "adminStar5", value = "客服5星评价")
    private int adminStar5;

    @ApiModelProperty(value = "转接会话数")
    private int transferCount;

    @ApiModelProperty(value = "用户给客服发过消息的会话数量(人工有效会话数)")
    private int userSendToAdmin;

    @ApiModelProperty(value = "客服给用户发过消息的会话数量(不计算系统发送的客服欢迎语)")
    private int adminSendToUser;

    @ApiModelProperty(value = "客服首次响应时间，秒")
    private int firstReplyDuration;

    @ApiModelProperty(value = "客服平均响应时间，秒")
    private int avgReplyDuration;

    @ApiModelProperty(value = "用户消息数")
    private int userMsgCount;

    @ApiModelProperty(value = "客服消息数")
    private int adminMsgCount;

    @ApiModelProperty(value = "机器人消息数")
    private int robotMsgCount;

    private static final long serialVersionUID = 1L;
}